home *** CD-ROM | disk | FTP | other *** search
- {***********************************************************************}
- PROGRAM KeyStatDemo; { Dec 09/93, Greg Estabrooks. }
- USES CRT; { Import Clrscr,Writeln,GotXY. }
-
- FUNCTION CapsOn :BOOLEAN;
- { Routine to determine if Caps Lock is on. }
- BEGIN { Test the keyboard status bit for Caps.}
- CapsOn := (Mem[$0040:$0017] AND $40) <> 0;
- END;{CapsOn}
-
- FUNCTION NumLockOn :BOOLEAN;
- { Routine to determine if Num Lock is on. }
- BEGIN { Test keyboard status bit for NumLock. }
- NumLockon := (Mem[$0040:$0017] AND $20) <>0
- END;{NumLockOn}
-
- FUNCTION ScrollOn :BOOLEAN;
- { Routine to determine if Scroll Lock is on. }
- BEGIN { Test keyboard status bit for S_Lock. }
- ScrollOn := (Mem[$0040:$0017] AND $10) <> 0;
- END;{ScrollOn}
-
- FUNCTION AltPressed :BOOLEAN;
- { Routine to determine if ALT key is being held down. }
- BEGIN { Test keyboard status bit for ALT. }
- AltPressed := (Mem[$0040:$0017] AND $08) <> 0;
- END;{AltPressed}
-
- FUNCTION CtrlPressed :BOOLEAN;
- { Routine to determine if Ctrl key is being held down.}
- BEGIN { Test keyboard status bit for Ctrl. }
- CtrlPressed := (Mem[$0040:$0017] AND $04) <> 0;
- END;{CtrlPressed}
-
- FUNCTION LeftShift :BOOLEAN;
- { Routine to determine if L_Shift is being held down. }
- BEGIN { Test keyboard status bit for L_Shift. }
- LeftShift := (Mem[$0040:$0017] AND $02) <> 0;
- END;{LeftShift}
-
- FUNCTION RightShift :BOOLEAN;
- { Routine to determine if R_Shift is being held down. }
- BEGIN { Test keyboard status bit for R_Shift. }
- RightShift := (Mem[$0040:$0017] AND $1) <> 0;
- END;{RightShift}
-
- BEGIN
- Clrscr; { Clear the screen of clutter. }
- REPEAT
- GotoXY(1,1); { Move Back to top of screen. }
- Writeln('CapsLock : ',Capson,' ');
- Writeln('NumLock : ',NumLockOn,' ');
- Writeln('Scroll Lock: ',ScrollOn,' ');
- Writeln('Alt Key : ',AltPressed,' ');
- Writeln('Ctrl Key : ',CtrlPressed,' ');
- Writeln('Right Shift: ',RightShift,' ');
- Writeln('Left Shift : ',LeftShift,' ');
- UNTIL KeyPressed; { Loop until a key is pressed. }
- END.{KeyStatDemo}
- {********************************************************************}